.label {
  display: flex;
  flex-direction: column;
  gap: 0 0;
  align-items: flex-start;
  justify-content: flex-start;

  .body {
    display: flex;
    flex-direction: row;
    gap: 12px;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    .value {
      display: grid;
      place-items: center;

      width: 36px;
      height: 36px;

      color: var(--color-light-100);

      border: 1px solid var(--color-dark-300);
      border-radius: 2px;
    }

    .line {
      touch-action: none;
      user-select: none;

      position: relative;

      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;

      width: 9.6rem;
      height: 1rem;

      .track {
        position: relative;

        flex-grow: 1;

        width: 100%;
        height: 4px;

        background-color: var(--color-accent-900);
        border-radius: 9999px;

        .range {
          position: absolute;
          height: 100%;
          background-color: var(--color-accent-500);
          border-radius: 9999px;
        }
      }

      @media screen and (width <= 768px) {
        width: 100%;
      }
    }
  }

  @media screen and (width <= 768px) {
    width: 100%;
  }
}

.rangeDisabled {
  position: absolute;
  height: 100%;
  background-color: var(--color-accent-900);
  border-radius: 9999px;
}

.thumb {
  cursor: pointer;

  position: relative;

  display: grid;
  place-items: center;

  width: 16px;
  height: 16px;

  background-color: var(--color-accent-500);
  border-radius: 10px;
  outline: none;

  &::before,
  &::after {
    content: '';

    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);

    display: block;

    width: 36px;
    height: 36px;

    background-color: var(transparent);
    border-radius: 50%;

    transition: 0.3s;
  }

  &:hover::after,
  &:focus-visible::after {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.3;
    background-color: var(--color-accent-500);
  }

  .dot {
    all: unset;

    position: relative;
    z-index: 2;

    width: 8px;
    height: 8px;

    background-color: var(--color-light-100);
    border-radius: 50%;
  }
}

.thumbDisabled {
  cursor: pointer;

  position: relative;

  display: grid;
  place-items: center;

  width: 16px;
  height: 16px;

  background-color: var(--color-accent-900);
  border-radius: 10px;
  outline: none;

  &::before,
  &::after {
    content: '';

    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);

    display: block;

    width: 36px;
    height: 36px;

    background-color: var(transparent);
    border-radius: 50%;

    transition: 0.3s;
  }

  &:hover::after,
  &:focus-visible::after {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.3;
    background-color: var(--color-accent-900);
  }

  .dot {
    all: unset;

    position: relative;
    z-index: 2;

    width: 8px;
    height: 8px;

    background-color: var(--color-light-900);
    border-radius: 50%;
  }
}
